package com.lz.manage.service;

import java.util.List;
import com.lz.manage.model.domain.FolderInfo;
import com.lz.manage.model.vo.folderInfo.FolderInfoVo;
import com.lz.manage.model.dto.folderInfo.FolderInfoQuery;

import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
/**
 * 文件夹信息Service接口
 * 
 * @author YY
 * @date 2025-07-17
 */
public interface IFolderInfoService extends IService<FolderInfo>
{
    //region mybatis代码
    /**
     * 查询文件夹信息
     * 
     * @param folderId 文件夹信息主键
     * @return 文件夹信息
     */
    public FolderInfo selectFolderInfoByFolderId(Long folderId);

    /**
     * 查询文件夹信息列表
     * 
     * @param folderInfo 文件夹信息
     * @return 文件夹信息集合
     */
    public List<FolderInfo> selectFolderInfoList(FolderInfo folderInfo);

    /**
     * 新增文件夹信息
     * 
     * @param folderInfo 文件夹信息
     * @return 结果
     */
    public int insertFolderInfo(FolderInfo folderInfo);

    /**
     * 修改文件夹信息
     * 
     * @param folderInfo 文件夹信息
     * @return 结果
     */
    public int updateFolderInfo(FolderInfo folderInfo);

    /**
     * 批量删除文件夹信息
     * 
     * @param folderIds 需要删除的文件夹信息主键集合
     * @return 结果
     */
    public int deleteFolderInfoByFolderIds(Long[] folderIds);

    /**
     * 删除文件夹信息信息
     * 
     * @param folderId 文件夹信息主键
     * @return 结果
     */
    public int deleteFolderInfoByFolderId(Long folderId);
    //endregion
    /**
     * 获取查询条件
     *
     * @param folderInfoQuery 查询条件对象
     * @return 查询条件
     */
    QueryWrapper<FolderInfo> getQueryWrapper(FolderInfoQuery folderInfoQuery);

    /**
     * 转换vo
     *
     * @param folderInfoList FolderInfo集合
     * @return FolderInfoVO集合
     */
    List<FolderInfoVo> convertVoList(List<FolderInfo> folderInfoList);
}
